如何解决TinyMCE 5 过滤列表框项目
我正在为 TinyMCE 构建一个插件,用于将内容插入到编辑器中。 由于列表框中的项目数组中有很多成员,我想过滤它们。 我添加了一个输入作为过滤器。
问题是我无法更新列表框内容。
我尝试从输入中获取数据并在 onAction() 函数中使用该数据过滤列表框数组,但列表框项保持不变。
有没有办法过滤列表框的内容。
我在文档中找不到任何可以帮助我找到解决方案的内容,也没有提出类似的问题。
tinymce.PluginManager.add("insertSnippet",function (editor,url) {
var snippets = [];
snippets = JSON.parse(sessionStorage.getItem('snippets'));
var snippet = snippets[0];
var openDialog = function openDialog() {
return editor.windowManager.open({
title: "Insert Snippet",size: "large",body: {
type: "panel",items: [{
type: "input",name: "filter",inputMode: "text",label: "Search Snippets"
},{
type: "button",text: "Search",name: "searchBtn",primary: false,},{
type: "listBox",name: "snippets",label: "Select Snippet",disabled: false,items: snippets,{
type: "htmlpanel",html: snippet.value
}
]
},buttons: [{
primary: true,type: "submit",name: "submit",text: "Insert"
},{
type: "cancel",name: "cancel",text: "cancel"
}],onSubmit: function onSubmit(data) {
}
onAction: function onAction(dialogApi,details) {
var dialogData = dialogApi.getData();
if (details.name === 'searchBtn') {
if (dialogData.filter.length > 0) {
snippets = snippets.filter(s => s.text.includes(dialogData.filter))
} else {
snippets = JSON.parse(sessionStorage.getItem('snippets'));
}
}
}
})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。