หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
ในฐานะนักพัฒนา คุณสามารถสร้างวิชวล Power BI ของคุณเองได้ วิชวลเหล่านี้สามารถใช้ได้โดยคุณ องค์กรของคุณ หรือบุคคลที่สาม
ในบทช่วยสอนนี้ คุณพัฒนาวิชวล Power BI โดยใช้ React วิชวลแสดงค่าหน่วยวัดที่จัดรูปแบบแล้วภายในวงกลม วิชวลมีขนาดที่ปรับเปลี่ยนได้และช่วยให้คุณสามารถกําหนดค่าได้
ในบทช่วยสอนนี้ คุณจะเรียนรู้วิธีการ:
- สร้างโครงการการพัฒนาสําหรับวิชวลของคุณ
- พัฒนาวิชวลของคุณโดยใช้ React
- กําหนดค่าวิชวลของคุณเพื่อประมวลผลข้อมูล
- กําหนดค่าวิชวลของคุณเพื่อปรับให้เข้ากับการเปลี่ยนแปลงขนาด
- กําหนดค่าการตั้งค่าสีและเส้นขอบที่ปรับเปลี่ยนได้สําหรับวิชวลของคุณ
หมายเหตุ
สําหรับรหัสแหล่งที่มาแบบเต็มของวิชวลนี้ โปรดดู การแสดงผลด้วยภาพของ Power BI ของการ์ดวงกลม React
ข้อกำหนดเบื้องต้น
ก่อนที่คุณจะเริ่มพัฒนาวิชวล Power BI ของคุณ ให้ตรวจสอบว่าคุณมีทุกอย่างที่แสดงอยู่ในส่วนนี้
บัญชี Power BI Pro หรือ Premium Per User (PPU) ถ้าคุณยังไม่มี ลงทะเบียน สําหรับรุ่นทดลองใช้ฟรี
รหัส Visual Studio (VS Code) VS Code คือสภาพแวดล้อมการพัฒนาแบบบูรณาการที่เหมาะสม (IDE) สําหรับการพัฒนาแอปพลิเคชัน JavaScript และ TypeScript
Windows PowerShell เวอร์ชัน 4 หรือใหม่กว่า (สําหรับ Windows) Terminal (สําหรับ Mac)
สภาพแวดล้อมที่พร้อมสําหรับการพัฒนาวิชวล Power BI ตั้งค่าสภาพแวดล้อมของคุณสําหรับการพัฒนาวิชวล Power BI
บทช่วยสอนนี้ใช้รายงาน การวิเคราะห์การขายของสหรัฐอเมริกา คุณสามารถดาวน์โหลดรายงานนี้และอัปโหลดไปยังบริการของ Power BI หรือใช้รายงานของคุณเอง ถ้าคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับบริการของ Power BI และการอัปโหลดไฟล์ โปรดดูที่ เริ่มต้นใช้งานที่สร้างในบทช่วยสอน บริการของ Power BI
สร้างโครงการการพัฒนา
ในส่วนนี้ คุณสร้างโครงการสําหรับวิชวลการ์ดวงกลม React
เปิด PowerShell และนําทางไปยังโฟลเดอร์ที่คุณต้องการสร้างโครงการของคุณ
ป้อนคําสั่งต่อไปนี้:
pbiviz new ReactCircleCardนําทางไปยังโฟลเดอร์ของโครงการ
cd ReactCircleCardเริ่มวิชวลการ์ดวงกลม React ขณะนี้วิชวลของคุณกําลังทํางานอยู่ในขณะที่โฮสต์บนคอมพิวเตอร์ของคุณ
pbiviz startสำคัญ
เมื่อต้องการหยุดวิชวลจากการเรียกใช้ ใน PowerShell ให้ป้อน +C และถ้าได้รับพร้อมท์ให้ยุติชุดงาน ให้ป้อน Y แล้วกด Enter
ดูการ์ดวงกลม React ในบริการของ Power BI
ในการทดสอบวิชวลใน บริการของ Power BI เราจะใช้รายงาน การวิเคราะห์การขาย ของสหรัฐอเมริกา คุณสามารถดาวน์โหลดรายงานนี้และอัปโหลดไปยังบริการของ Power BI ได้
คุณยังสามารถใช้รายงานของคุณเองเพื่อทดสอบวิชวลได้
หมายเหตุ
ก่อนที่คุณจะดําเนินการต่อ ให้ตรวจสอบว่าคุณ เปิดใช้งานโหมดนักพัฒนาวิชวล
ลงชื่อเข้าใช้ PowerBI.com และเปิดรายงาน การวิเคราะห์การขายของสหรัฐอเมริกา
เลือก แก้ไข
สร้างหน้าใหม่สําหรับการทดสอบโดยการคลิกที่ปุ่ม หน้าใหม่ ที่ด้านล่างของส่วนติดต่อบริการของ Power BI
จากบานหน้าต่างการแสดงภาพ เลือกวิชวลนักพัฒนา
วิชวลนี้แสดงวิชวลแบบกําหนดเองที่คุณกําลังใช้งานบนคอมพิวเตอร์ของคุณ ซึ่งจะพร้อมใช้งานเฉพาะเมื่อ เปิดใช้งานการตั้งค่าการดีบักวิ ชวลแบบกําหนดเอง
ตรวจสอบว่ามีการเพิ่มวิชวลไปยังพื้นที่รายงาน
นี่คือวิชวลแบบง่าย ๆ ที่แสดงจํานวนครั้งที่มีการเรียกใช้วิธีการอัปเดต ในขั้นตอนนี้ วิชวลจะไม่เรียกใช้ข้อมูลใด ๆ
หมายเหตุ
ถ้าวิชวลแสดงข้อความแสดงข้อผิดพลาดในการเชื่อมต่อ ให้เปิดแท็บใหม่ในเบราว์เซอร์ของคุณ ไปที่
https://localhost:8080/assetsและอนุญาตให้เบราว์เซอร์ของคุณใช้ที่อยู่นี้
ในขณะที่เลือกวิชวลใหม่ให้ไปที่บานหน้าต่าง ข้อมูล ขยาย ยอดขาย และเลือก ปริมาณ
หากต้องการทดสอบการตอบสนองของวิชวลให้ปรับขนาดและสังเกตว่า ค่า อัปเดตจํานวน จะเพิ่มขึ้นทุกครั้งที่คุณปรับขนาดวิชวล
ตั้งค่า React ในโครงการของคุณ
ในส่วนนี้ คุณจะได้เรียนรู้วิธีการตั้งค่า React สําหรับโครงการวิชวล Power BI ของคุณ
เปิด PowerShell และหยุดวิชวลไม่ให้ทํางานโดยการใส่ Ctrl + C หากได้รับแจ้งให้ยุติชุดงาน ให้ป้อน Y แล้วกด Enter
ติดตั้ง React
หากต้องการติดตั้งการอ้างอิง React ที่จําเป็น ให้เปิด PowerShell ใน โฟลเดอร์ ReactCircleCard ของคุณและเรียกใช้คําสั่งต่อไปนี้:
npm i react react-dom
ติดตั้งข้อกําหนดชนิด React
หากต้องการติดตั้งข้อกําหนดประเภทสําหรับ React ให้เปิด PowerShell ใน โฟลเดอร์ reactCircleCard ของคุณและเรียกใช้คําสั่งต่อไปนี้:
npm i @types/react @types/react-dom
สร้างคลาสคอมโพเนนต์ React
ทําตามขั้นตอนเหล่านี้เพื่อสร้างคลาสคอมโพเนนต์ React
เปิดรหัส VS และนําทางไปยังโฟลเดอร์ reactCircleCard
สร้างไฟล์ใหม่โดยการเลือกไฟล์>ไฟล์ใหม่
คัดลอกโค้ดต่อไปนี้ลงในไฟล์ใหม่
import * as React from "react"; export class ReactCircleCard extends React.Component<{}>{ render(){ return ( <div className="circleCard"> Hello, React! </div> ) } } export default ReactCircleCard;เลือก บันทึกเป็น และนําทางไปยังโฟลเดอร์ src
บันทึกไฟล์ดังนี้:
- ในฟิลด์ ชื่อไฟล์ ให้ป้อนคอมโพเนนต์
- จากเมนูดรอปดาวน์ บันทึกเป็นชนิด ให้เลือก TypeScript React
เพิ่ม React ไปยังไฟล์วิชวล
แทนที่โค้ดใน ไฟล์ visual.ts ด้วยโค้ดที่เปิดใช้งานโดยใช้ React
ใน โฟลเดอร์ src เปิด visual.ts และแทนที่โค้ดในไฟล์ด้วยรหัสต่อไปนี้:
"use strict"; import powerbi from "powerbi-visuals-api"; import DataView = powerbi.DataView; import VisualConstructorOptions = powerbi.extensibility.visual.VisualConstructorOptions; import VisualUpdateOptions = powerbi.extensibility.visual.VisualUpdateOptions; import IVisual = powerbi.extensibility.visual.IVisual; // Import React dependencies and the added component import * as React from "react"; import * as ReactDOM from "react-dom"; import ReactCircleCard from "./component"; import "./../style/visual.less"; export class Visual implements IVisual { constructor(options: VisualConstructorOptions) { } public update(options: VisualUpdateOptions) { } }หมายเหตุ
ตามค่าเริ่มต้นการตั้งค่า Power BI TypeScript ไม่รู้จักไฟล์ tsx ของ React การไฮไลต์
componentVS Code เป็นข้อผิดพลาดเมื่อต้องการแสดงคอมโพเนนต์ ให้เพิ่มองค์ประกอบ HTML เป้าหมายไปยัง visual.ts องค์ประกอบนี้คือ
HTMLElementในVisualConstructorOptionsซึ่งจะถูกส่งผ่านไปยังคอนสตรักเตอร์ในโฟลเดอร์ src เปิด visual.ts
เพิ่มโค้ดต่อไปนี้ลงใน
Visualคลาส:
private target: HTMLElement; private reactRoot: React.ComponentElement<any, any>;- เพิ่มบรรทัดต่อไปนี้ลงใน
VisualConstructorOptionsคอนสตรักเตอร์:
this.reactRoot = React.createElement(ReactCircleCard, {}); this.target = options.element; ReactDOM.render(this.reactRoot, this.target);ตอนนี้ ไฟล์ visual.ts ของคุณควรมีลักษณะดังนี้:
"use strict"; import powerbi from "powerbi-visuals-api"; import DataView = powerbi.DataView; import VisualConstructorOptions = powerbi.extensibility.visual.VisualConstructorOptions; import VisualUpdateOptions = powerbi.extensibility.visual.VisualUpdateOptions; import IVisual = powerbi.extensibility.visual.IVisual; import * as React from "react"; import * as ReactDOM from "react-dom"; import ReactCircleCard from "./component"; import "./../style/visual.less"; export class Visual implements IVisual { private target: HTMLElement; private reactRoot: React.ComponentElement<any, any>; constructor(options: VisualConstructorOptions) { this.reactRoot = React.createElement(ReactCircleCard, {}); this.target = options.element; ReactDOM.render(this.reactRoot, this.target); } public update(options: VisualUpdateOptions) { } }บันทึก visual.ts
แก้ไขไฟล์ tsconfig
แก้ไข tsconfig.json เพื่อทํางานกับ React
ในโฟลเดอร์ reactCircleCard ให้เปิด tsconfig.json และเพิ่มสองบรรทัดไปยังจุดเริ่มต้นของรายการ
compilerOptions"jsx": "react", "types": ["react", "react-dom"],ตอนนี้ ไฟล์ tsconfig.json ของคุณควรมีลักษณะดังนี้ และ
componentข้อผิดพลาดใน visual.ts ควรหายไป{ "compilerOptions": { "jsx": "react", "types": ["react", "react-dom"], "allowJs": false, "emitDecoratorMetadata": true, "experimentalDecorators": true, "target": "es6", "sourceMap": true, "outDir": "./.tmp/build/", "moduleResolution": "node", "declaration": true, "lib": [ "es2015", "dom" ] }, "files": [ "./src/visual.ts" ] }บันทึก tsconfig.json
ทดสอบวิชวลของคุณ
เปิด PowerShell ใน โฟลเดอร์ CircleCardVisual และเรียกใช้โครงการของคุณ:
pbiviz start
เมื่อคุณเพิ่มวิชวลนักพัฒนาใหม่ในรายงานของคุณในบริการของ Power BI จะมีลักษณะดังนี้:
กําหนดค่าเขตข้อมูลของวิชวลของคุณ
กําหนดค่าไฟล์ความสามารถของวิชวลของคุณเพื่อให้สามารถส่งเขตข้อมูลเดียวเท่านั้นไปยังเขตข้อมูล หน่วยวัด ของวิชวล
ในรหัส VS จากโฟลเดอร์ reactCircleCard ให้เปิด capabilities.json
แสดง
ReactCircleCardค่าMeasure Dataเดียว เอาวัตถุCategory DataออกจากdataRolesหลังจากลบ
Category Dataวัตถุแล้วdataRolesคีย์จะมีลักษณะดังนี้:"dataRoles": [ { "displayName": "Measure Data", "name": "measure", "kind": "Measure" } ],ลบเนื้อหาทั้งหมดของ
objectsคีย์ออก (คุณจะใส่ข้อมูลลงในภายหลัง)หลังจากที่คุณลบเนื้อหาออกแล้ว คีย์
objectsจะมีลักษณะดังนี้:"objects": {},dataViewMappingsแทนที่คุณสมบัติด้วยโค้ดต่อไปนี้max: 1ซึ่งmeasureระบุว่าสามารถส่งเขตข้อมูลเดียวเท่านั้นไปยังเขตข้อมูลหน่วยวัดของวิชวล"dataViewMappings": [ { "conditions": [ { "measure": { "max": 1 } } ], "single": { "role": "measure" } } ]บันทึกการเปลี่ยนแปลงที่คุณทํากับ capabilities.json
ตรวจสอบว่า
pbiviz startกําลังทํางานและอยู่ในบริการของ Power BI ให้รีเฟรชวิชวล React Circle Card ของคุณ เขตข้อมูลหน่วยวัดสามารถยอมรับเขตข้อมูลเดียวเท่านั้น ตามที่ระบุโดยmax: 1
อัปเดตลักษณะของวิชวล
ในส่วนนี้ คุณเปลี่ยนรูปร่างของวิชวลเป็นวงกลม ใช้ไฟล์ visual.less เพื่อควบคุมลักษณะของวิชวลของคุณ
จากโฟลเดอร์ลักษณะ เปิด visual.less
แทนที่เนื้อหาของ visual.less ด้วยโค้ดต่อไปนี้
.circleCard { position: relative; box-sizing: border-box; border: 1px solid #000; border-radius: 50%; width: 200px; height: 200px; } p { text-align: center; line-height: 30px; font-size: 20px; font-weight: bold; position: relative; top: -30px; margin: 50% 0 0 0; }บันทึก visual.less
ตั้งค่าวิชวลของคุณเพื่อรับคุณสมบัติจาก Power BI
ในส่วนนี้ คุณกําหนดค่าวิชวลเพื่อรับข้อมูลจาก Power BI และส่งการอัปเดตไปยังอินสแตนซ์ในไฟล์ component.tsx
แสดงข้อมูลโดยใช้ React
คุณสามารถแสดงข้อมูลโดยใช้ React คอมโพเนนต์สามารถแสดงข้อมูลจากสถานะของตนเอง
ในรหัส VS จากโฟลเดอร์ reactCircleCard ให้เปิด component.tsx
แทนที่เนื้อหาของ component.tsx ด้วยโค้ดต่อไปนี้
import * as React from "react"; export interface State { textLabel: string, textValue: string } export const initialState: State = { textLabel: "", textValue: "" } export class ReactCircleCard extends React.Component<{}, State>{ constructor(props: any){ super(props); this.state = initialState; } render(){ const { textLabel, textValue } = this.state; return ( <div className="circleCard"> <p> {textLabel} <br/> <em>{textValue}</em> </p> </div> ) } }บันทึก component.tsx
ตั้งค่าวิชวลของคุณเพื่อรับข้อมูล
วิชวลได้รับข้อมูลเป็นอาร์กิวเมนต์ของ update วิธีการ ในส่วนนี้ คุณอัปเดตวิธีการนี้เพื่อรับข้อมูล
รหัสต่อไปนี้เลือก textLabel และ textValue จาก DataViewและถ้ามีข้อมูลอยู่ ให้อัปเดตสถานะคอมโพเนนต์
ในรหัส VS จากโฟลเดอร์ src เปิด visual.ts
แทนที่บรรทัด
import ReactCircleCard from "./component";ด้วยโค้ดต่อไปนี้:import { ReactCircleCard, initialState } from "./component";เพิ่มโค้ดต่อไปนี้ไปยัง
updateวิธีการif(options.dataViews && options.dataViews[0]){ const dataView: DataView = options.dataViews[0]; ReactCircleCard.update({ textLabel: dataView.metadata.columns[0].displayName, textValue: dataView.single.value.toString() }); } else { this.clear(); }สร้าง
clearวิธีการ โดยการเพิ่มโค้ดต่อไปนี้ที่updateด้านล่างวิธีการprivate clear() { ReactCircleCard.update(initialState); }บันทึก visual.ts
ตั้งค่าวิชวลของคุณเพื่อส่งข้อมูล
ในส่วนนี้ คุณอัปเดตวิชวลเพื่อส่งการอัปเดตไปยังอินสแตนซ์ในไฟล์คอมโพเนนต์
ในรหัส VS จากโฟลเดอร์ src เปิด component.tsx
เพิ่มโค้ดต่อไปนี้ลงใน
ReactCircleCardคลาส:private static updateCallback: (data: object) => void = null; public static update(newState: State) { if(typeof ReactCircleCard.updateCallback === 'function'){ ReactCircleCard.updateCallback(newState); } } public state: State = initialState; public componentWillMount() { ReactCircleCard.updateCallback = (newState: State): void => { this.setState(newState); }; } public componentWillUnmount() { ReactCircleCard.updateCallback = null; }บันทึก component.tsx
ดูการเปลี่ยนแปลงในวิชวล
ทดสอบวิ ชวล React Circle Card ของคุณเพื่อดูการเปลี่ยนแปลงที่คุณทํา
ตรวจสอบว่า
pbiviz startกําลังทํางานอยู่ และในบริการของ Power BI ให้รีเฟรชวิชวล React Circle Card ของคุณเพิ่ม ยอดขาย ลงในเขตข้อมูล หน่วยวัด ของวิชวล
ทําให้วิชวลของคุณปรับขนาดได้
ในปัจจุบัน วิชวลของคุณมีความกว้างและความสูงคงที่ เพื่อให้วิชวลสามารถปรับขนาดได้ คุณจําเป็นต้องกําหนดsizeตัวแปรทั้งในไฟล์ visual.ts และ component.tsx ในส่วนนี้ คุณทําให้วิชวลสามารถปรับขนาดได้
หลังจากที่คุณทําตามขั้นตอนที่ระบุไว้ในส่วนนี้เสร็จแล้วเส้นผ่านศูนย์กลางของวงกลมในวิชวลของคุณจะสอดคล้องกับความกว้างหรือขนาดความสูงที่น้อยที่สุดและคุณจะสามารถปรับขนาดได้ในบริการของ Power BI
กําหนดค่าไฟล์ visual.ts
รับขนาดปัจจุบันของวิวพอร์ตวิชวลจาก options วัตถุ
ในรหัส VS จากโฟลเดอร์ src เปิด visual.ts
แทรกรหัสนี้เพื่อนําเข้า
IViewportอินเทอร์เฟสimport IViewport = powerbi.IViewport;viewportเพิ่มคุณสมบัติ ไปยังvisualคลาสprivate viewport: IViewport;ใน
updateวิธีการ ก่อนReactCircleCard.updateเพิ่มโค้ดต่อไปนี้this.viewport = options.viewport; const { width, height } = this.viewport; const size = Math.min(width, height);ในวิธีการ ใน
updateReactCircleCard.updateให้เพิ่มsizesize,บันทึก visual.ts
กําหนดค่าไฟล์ component.tsx
ในรหัส VS จากโฟลเดอร์ src เปิด component.tsx
เพิ่มโค้ดต่อไปนี้ไปยัง
export interface Statesize: numberเพิ่มโค้ดต่อไปนี้ไปยัง
export const initialState: Statesize: 200ใน
renderวิธีการ ให้ทําการเปลี่ยนแปลงต่อไปนี้ในโค้ด:เพิ่ม
sizeไปยังconst { textLabel, textValue, size } = this.state;ตอนนี้การประกาศนี้ควรมีลักษณะดังนี้:const { textLabel, textValue, size } = this.state;เพิ่มโค้ดต่อไปนี้ด้านบน
returnconst style: React.CSSProperties = { width: size, height: size };แทนที่บรรทัดที่ส่งกลับ
<div className="circleCard">ด้วย:<div className="circleCard" style={style}>
บันทึก component.tsx
กําหนดค่าไฟล์วิชวล
ในรหัส VS จากโฟลเดอร์ลักษณะ เปิด visual.less
ใน
.circleCardแทนที่widthและheightด้วยmin-widthและmin-heightmin-width: 200px; min-height: 200px;บันทึก visual.less
ทําให้วิชวล Power BI ของคุณสามารถปรับแต่งได้
ในส่วนนี้ คุณสามารถเพิ่มความสามารถในการกําหนดวิชวลของคุณเอง ได้อนุญาตให้ผู้ใช้สามารถทําการเปลี่ยนแปลงสีและความหนาของเส้นขอบได้
เพิ่มสีและความหนาไปยังไฟล์ความสามารถ
เพิ่มสีและความหนาของเส้นขอบให้กับobjectคุณสมบัติใน capabilities.json
ในรหัส VS จากโฟลเดอร์ reactCircleCard ให้เปิด capabilities.json
เพิ่มการตั้งค่าต่อไปนี้ไปยัง
objectsคุณสมบัติ"circle": { "properties": { "circleColor": { "type": { "fill": { "solid": { "color": true } } } }, "circleThickness": { "type": { "numeric": true } } } }บันทึก capabilities.json
เพิ่มคลาสการตั้งค่าการจัดรูปแบบวงกลมไปยังไฟล์การตั้งค่า
Circleเพิ่มการตั้งค่าการจัดรูปแบบไปยัง settings.ts สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการสร้างการตั้งค่าแบบจําลองการจัดรูปแบบ ดู ยูทิลิตี้การจัดรูปแบบ
ในรหัส VS จากโฟลเดอร์ src เปิด settings.ts
แทนที่โค้ดใน settings.ts ด้วยโค้ดต่อไปนี้:
"use strict"; import { formattingSettings } from "powerbi-visuals-utils-formattingmodel"; import FormattingSettingsCard = formattingSettings.SimpleCard; import FormattingSettingsSlice = formattingSettings.Slice; import FormattingSettingsModel = formattingSettings.Model; /** * Circle Formatting Card */ class CircleCardSettings extends FormattingSettingsCard { circleColor = new formattingSettings.ColorPicker({ name: "circleColor", // circle color name should match circle color property name in capabilities.json displayName: "Color", description: "The fill color of the circle.", show: true, value: { value: "white" } }); circleThickness = new formattingSettings.NumUpDown({ name: "circleThickness", // circle thickness name should match circle color property name in capabilities.json displayName: "Thickness", description: "The circle thickness.", show: true, value: 2 }); name: string = "circle"; // circle card name should match circle object name in capabilities.json displayName: string = "Circle"; show: boolean = true; slices: Array<FormattingSettingsSlice> = [this.circleColor, this.circleThickness]; } /** * visual settings model class * */ export class VisualFormattingSettingsModel extends FormattingSettingsModel { // Create formatting settings model circle formatting card circleCard = new CircleCardSettings(); cards = [this.circleCard]; }บันทึก settings.ts
เพิ่มวิธีการเพื่อใช้การตั้งค่าวิชวล
getFormattingModelเพิ่มวิธีการที่ใช้ในการตั้งค่าวิชวลและนําเข้าไปยังไฟล์ visual.ts ที่จําเป็น
ในรหัส VS จากโฟลเดอร์ src เปิด visual.ts
เพิ่มคําสั่งเหล่านี้
importที่ด้านบนของ visual.tsimport { FormattingSettingsService } from "powerbi-visuals-utils-formattingmodel"; import { VisualFormattingSettingsModel } from "./settings";เพิ่มการประกาศต่อไปนี้ไปยัง วิชวล
private formattingSettings: VisualFormattingSettingsModel; private formattingSettingsService: FormattingSettingsService;เพิ่มวิธีการ ลงใน
getFormattingModelชวลpublic getFormattingModel(): powerbi.visuals.FormattingModel { return this.formattingSettingsService.buildFormattingModel(this.formattingSettings); }ใน
Visualคลาส ให้เพิ่มบรรทัดโค้ดต่อไปนี้เพื่อconstructorเตรียมใช้งานformattingSettingsServicethis.formattingSettingsService = new FormattingSettingsService();ใน
Visualคลาส ให้เพิ่มรหัสต่อไปนี้เพื่อupdateอัปเดตการตั้งค่าการจัดรูปแบบวิชวลให้เป็นค่าคุณสมบัติการจัดรูปแบบล่าสุดเพิ่มรหัสนี้ไปยังคําสั่ง ถ้า หลังจาก
const size = Math.min(width, height);this.formattingSettings = this.formattingSettingsService.populateFormattingSettingsModel(VisualFormattingSettingsModel, options.dataViews[0]); const circleSettings = this.formattingSettings.circleCard;เพิ่มรหัสนี้ไปยัง
ReactCircleCard.updateหลังจากsize:borderWidth: circleSettings.circleThickness.value, background: circleSettings.circleColor.value.value, }
บันทึก visual.ts
แก้ไขไฟล์คอมโพเนนต์
แก้ไขไฟล์คอมโพเนนต์เพื่อให้สามารถแสดงการเปลี่ยนแปลงไปยังสีและความหนาของเส้นขอบของวิชวล
ในรหัส VS จากโฟลเดอร์ src เปิด component.tsx
เพิ่มค่าเหล่านี้ไปยัง
State:background?: string, borderWidth?: numberในวิธีการ ให้
renderแทนที่บรรทัดโค้ดต่อไปนี้:const { textLabel, textValue, size } = this.state;กับ:const { textLabel, textValue, size, background, borderWidth } = this.state;const style: React.CSSProperties = { width: size, height: size };กับ:const style: React.CSSProperties = { width: size, height: size, background, borderWidth };
บันทึก component.tsx
ตรวจสอบการเปลี่ยนแปลงของคุณ
ทดลองใช้สีและความหนาของเส้นขอบของวิชวล ซึ่งคุณสามารถควบคุมได้ในขณะนี้
ตรวจสอบว่า
pbiviz startกําลังทํางานอยู่ และในบริการของ Power BI ให้รีเฟรชวิชวล React Circle Card ของคุณเลือกแท็บ รูปแบบ และขยาย วงกลม
ปรับการตั้งค่า สี และ ความหนา ของวิชวล และตรวจทานผลของวิชวล