在 actionSheetController 中添加自定义内容
Adding custom content in actionSheetController
有没有办法在 ionic.actionSheetController
中使用自定义内容而不是按钮列表? ionic.modalController
中的一个示例,我可以使用自定义 component
作为模态内容。
ionic.modalController 示例
import { ProductDetails } from "./../components";
...
return this.$ionic.modalController
.create({
component: ProductDetails,
componentProps: {
propsData: {
data: item,
}
}
})
.then(m => m.present());
ionic.actionSheetController尝试
import { ProductDetails } from "./../components";
...
return this.$ionic.actionSheetController
.create({
header: item.title,
subHeader: item.subTitle,
component: ProductDetails,
buttons: [
{
text: "Cancel",
icon: "close",
role: "cancel"
}
]
})
.then(a => a.present());
下图是我想要实现的目标
Action Sheet Ionic component only accepts buttons, in contrast to the Popover and Modal 个组件,每个组件接受自定义组件。
接近您想要的行为类型的最佳选择可能是使用 Ionic 提供的 Popover component, adding a custom enterAnimation
and leaveAnimation
and setting the width properties。
过去(Ionic 4 之前),可以抓取 DOM 元素并随意更改,但使用新的底层 Web 组件,这是不可能的。要获得更多自定义行为,您需要查看 StencilJS 或类似内容来创建新组件。这是一种可维护性风险,考虑到 Ionic 中内置的大量功能,这可能没有必要。
有没有办法在 ionic.actionSheetController
中使用自定义内容而不是按钮列表? ionic.modalController
中的一个示例,我可以使用自定义 component
作为模态内容。
ionic.modalController 示例
import { ProductDetails } from "./../components";
...
return this.$ionic.modalController
.create({
component: ProductDetails,
componentProps: {
propsData: {
data: item,
}
}
})
.then(m => m.present());
ionic.actionSheetController尝试
import { ProductDetails } from "./../components";
...
return this.$ionic.actionSheetController
.create({
header: item.title,
subHeader: item.subTitle,
component: ProductDetails,
buttons: [
{
text: "Cancel",
icon: "close",
role: "cancel"
}
]
})
.then(a => a.present());
下图是我想要实现的目标
Action Sheet Ionic component only accepts buttons, in contrast to the Popover and Modal 个组件,每个组件接受自定义组件。
接近您想要的行为类型的最佳选择可能是使用 Ionic 提供的 Popover component, adding a custom enterAnimation
and leaveAnimation
and setting the width properties。
过去(Ionic 4 之前),可以抓取 DOM 元素并随意更改,但使用新的底层 Web 组件,这是不可能的。要获得更多自定义行为,您需要查看 StencilJS 或类似内容来创建新组件。这是一种可维护性风险,考虑到 Ionic 中内置的大量功能,这可能没有必要。