Closed 417394980 closed 5 years ago
因为是以HTML形式写入webview,所以无法直接访问外部对象; 看了一下renderChart里的代码,可以发现option是以${toString(props.option)})设置的; 所以这里可以抖机灵方式灵活通过props来获取外部对象的方法; renderChart.js代码修改 const renderChart = (props) => { const height =${props.height || 400}px; const width = props.width ?${props.width}px: 'auto'; const backgroundColor = props.backgroundColor; return document.getElementById('main').style.height = "${height}"; document.getElementById('main').style.width = "${width}"; document.getElementById('main').style.backgroundColor = "${backgroundColor}"; var myChart = echarts.init(document.getElementById('main'));
const renderChart = (props) => { const height =
; const width = props.width ?
: 'auto'; const backgroundColor = props.backgroundColor; return
var props = ${toString(props)};//使用外部传入的props myChart.setOption(${toString(props.option)});`
外部formatter调用 ` tooltip: { trigger: 'item', formatter: function (params,ticket,callback) { var res = params.data.title + '' + params.data.valueFormat + '(份)(' + params.percent + '%)'; res=unescape(res.replace(/\u/g, "%u"));
res=props.data[params.dataIndex].RATE;//props.的方式使用传入的外部数据 return res; } },`
@417394980 没看懂这个方法,能不能写详细一些
修改源文件renderChart.js代码修改 加入var props = ${toString(props)}; 进const renderChart = (props) => 里面 这样就让webview里生成了props这个变量, 从而echar可以访问到外面通过props传进的变量值
因为是以HTML形式写入webview,所以无法直接访问外部对象; 看了一下renderChart里的代码,可以发现option是以${toString(props.option)})设置的; 所以这里可以抖机灵方式灵活通过props来获取外部对象的方法; renderChart.js代码修改
const renderChart = (props) => { const height =
${props.height || 400}px; const width = props.width ?
${props.width}px: 'auto'; const backgroundColor = props.backgroundColor; return
document.getElementById('main').style.height = "${height}"; document.getElementById('main').style.width = "${width}"; document.getElementById('main').style.backgroundColor = "${backgroundColor}"; var myChart = echarts.init(document.getElementById('main'));外部formatter调用 ` tooltip: { trigger: 'item', formatter: function (params,ticket,callback) { var res = params.data.title + '
' + params.data.valueFormat + '(份)
(' + params.percent + '%)'; res=unescape(res.replace(/\u/g, "%u"));