每次我都必须使用CTRL+SPACE来获取完整的变体。但我经常需要它。每次按键时我都需要变体列表。我怎样才能设置它?
我需要带有 bpmn.js 视图的小部件:https : //github.com/bpmn-io/bpmn-js
使用 HtmlElementView:
// ignore: undefined_prefixed_name
ui.platformViewRegistry
.registerViewFactory('bpmn_view', (int viewId) => element);
return Column(
children: <Widget>[
Expanded(
child: HtmlElementView(key: UniqueKey(), viewType: "bpmn_view")),
],
);
Run Code Online (Sandbox Code Playgroud)
使用js:
const html = '''
<div id="canvas">canvas</div>
<script>
(function () {
window.addEventListener('view_bpmn', function (e) {
var bpmnJS = new BpmnJS({
container: "#canvas"
});
bpmnJS.importXML(e.details);
}, false);
}());
</script>
''';
element.setInnerHtml(html,
validator: NodeValidatorBuilder.common()..allowElement('script'));
Run Code Online (Sandbox Code Playgroud)
但是我在执行时出现错误:
VM4761 bpmn-viewer.development.js:18864 Uncaught TypeError: Cannot read property 'appendChild' of null
at Viewer.BaseViewer.attachTo (VM4761 bpmn-viewer.development.js:18864)
at Viewer.BaseViewer._init (VM4761 bpmn-viewer.development.js:18911) …Run Code Online (Sandbox Code Playgroud) 我尝试从 url 解析 html。这个页面的字符集是“windows-1251”,我的方法编码的输出内容是utf。
我尝试使用这样的 http 和 html 包:
getContentFrom(String uri, {List selectors}) async {
var htmlForParse, content, html;
Map headers = {'Content-type':'text/html', 'charset':'windows-1251'};
htmlForParse = await http.read(uri, headers: headers);
html = parse(htmlForParse, encoding:'utf-8');
}
Run Code Online (Sandbox Code Playgroud)
http.read 返回:
'<a href="#"><img src="#" alt="Ðîáîò Parrot Jumping Sumo (÷åðíûé)"/></a>'
Run Code Online (Sandbox Code Playgroud)
只有当它尝试从非 utf 字符集页面获取时。
像这样的 Dart 代码:https : //github.com/Rasarts/mini.parser/blob/master/lib/parser.dart
最后输出像这样“鹦鹉跳跃相扑(÷åðíûé)”,但我期望“鹦鹉跳跃相扑(??????)”
我能做些什么来解决那个 ÷åðíûé ?